<?php
require_once("libs/controller.php");
require_once("modelos/personas.php");
require_once("modelos/alcances.php");
require_once("modelos/clasificaciones.php");
require_once("modelos/tematicas.php");
require_once("modelos/tipos.php");
require_once("modelos/entidades.php");
require_once("modelos/estatus.php");
require_once("modelos/correlativos.php");
require_once("modelos/actuaciones.php");
require_once("modelos/actuacionesusuarios.php");
require_once("modelos/usuarios.php");
require_once("modelos/actividades.php");
require_once("modelos/actividadesusuarios.php");
require_once("modelos/adscripciones.php");
require_once("modelos/dependencias.php");
require_once("modelos/organismos.php");
require_once("modelos/paises.php");
require_once("modelos/tiposfuncionarios.php");
require_once("modelos/actuacionesparticipantes.php");
require_once("modelos/actuacionesponentes.php");
require_once("modelos/tratamientos.php");
require_once("libs/funciones.php");

class ActuacionesController extends Controller 
{
	public function __construct() 
	{
		$this->layout = "aplicacion";
		$this->pageTitle = "Escuela Nacional de Fiscales";	
	}
	
	public function index() 
	{
		try 
		{
			$this->layout = "aplicacion";
			$_SESSION["pestania"] = 1;
			$this->nivelesPermitidos = array(2); //supervisor
			extract($_REQUEST);
			if(isset($ap2))
				$this->ap2=$ap2;
			else
				$this->ap2=1;
			$this->ap=$ap;
			$this->idActividad=$idActividad;
			
			//creacion de objetos modelos
			$this->actuaciones=new Actuaciones();
			$this->actividad=new Actividades();
			$actividad_usuario=new Actividadesusuarios();
			$this->planificador1=new Usuarios();
			
			//consultando actuaciones correspondiente a la actividad
			$this->actuaciones->addCondition("id_actividad",$idActividad);
			$this->actuaciones->addOrderBy("id", DB_ASC);
			$this->actuaciones->doSelectAll();
			
			//consultando detalle de la actividad
			$this->actividad->addCondition("id",$idActividad);
			$this->actividad->doSelectAll();
			$this->actividad->next();
			
			//consultando planificador1 asociado a la actividad
			$actividad_usuario->addCondition("id_actividad",$idActividad);
			$actividad_usuario->addCondition("tipo_planificador","1");
			$actividad_usuario->doSelectAll();
			$actividad_usuario->next();
			$this->planificador1->addCondition("usuarios.id",$actividad_usuario->getValue("id_usuario"));
			$this->planificador1->doSelectAllWithForeign("personas","id_persona");
			$this->planificador1->next();
			
			$this->logger->info(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()." actuaciones->index");
		} 
		catch (Exception $e) 
		{
			$this->logger->error(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()."Error en actuaciones->index: ".$e->getMessage());
			$mensaje="Ha ocurrido un error al consultar su informaci&oacute;n. Por favor intente m&aacute;s tarde.";
			$this->continuar=false;
			$this->showNotificacion("",$mensaje,"Regresar","actividades/","aplicacion","");
		}
	}
	
	public function crear() 
	{
		try 
		{
			$this->layout = "aplicacion";
			$_SESSION["pestania"] = 1;
			$this->nivelesPermitidos = array(2); //supervisor
			extract($_REQUEST);
			$this->ap=$ap;
			$this->ap2=$ap2;
			$this->idActividad=$idActividad;
			
			$this->clasificaciones=new Clasificaciones();
			$this->clasificaciones->doSelectAll();
			$this->tematicas=new Tematicas();
			$this->tematicas->doSelectAll();
			$this->alcances=new Alcances();
			$this->alcances->doSelectAll();
			$this->tipos=new Tipos();
			$this->tipos->doSelectAll();
			$this->planificadores=new Usuarios();
			$this->planificadores->addCondition("estatus","1");
			//$this->planificadores->addCondition("id_nivel_usuario","3,4",DB_IN);
			$this->planificadores->addCondition("id_nivel_usuario","3");
			$this->planificadores->addOrderBy("nombres",DB_ASC);
			$this->planificadores->doSelectAllWithForeign("personas","id_persona");
			$this->entidades=new Entidades();
			$this->entidades->doSelectAll();
			$this->estatus=new Estatus();
			$this->estatus->doSelectAll();
			$this->logger->info(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()." actuaciones->crear");
		} 
		catch (Exception $e) 
		{
			$this->logger->error(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getIdPersona()." Error en actuaciones->crear: ".$e->getMessage());
			$mensaje="Ha ocurrido un error al consultar su informaci&oacute;n. Por favor intente m&aacute;s tarde.";
			$this->continuar=false;
			$this->showNotificacion("",$mensaje,"Aceptar","actividades/","aplicacion","");
		}
	}
	
	public function xGuardar() 
	{
		try 
		{
			extract($_REQUEST);
			$this->nivelesPermitidos = array(2); //supervisor
			
			//creacion de objetos modelos
			$correlativo=new Correlativos();
			$actuacion=new Actuaciones();
			$actividad=new Actividades();
			$actuacion_usuario=new Actuacionesusuarios();
			
			//anio actual
			$anio=date("Y");
			$anio=substr($anio,2);
			
			//$this->logger->debug("INICIO TRANSACCION");
			
			//begin
			$actuacion->getConnection()->iniciarTransaccion();
			
			/*INICIO CALCULO DE CORRELATIVOS*/
			$correlativo->addCondition("tipo","actuacion");
			$correlativo->addCondition("id_actividad",$idActividad);
			$correlativo->addCondition("anio",$anio);
			$correlativo->doSelectAll();
			if($correlativo->next())
			{
				// ultimo correlativo
				$ultCorr=$correlativo->getValue("ultimo");
				//nuevo correlativo
				$ultCorr=$ultCorr+1;
				//actualizo correlativo
				$correlativo->setValue("tipo","actuacion");
				$correlativo->setValue("id_actividad",$idActividad);
				$correlativo->setValue("anio",$anio);
				$correlativo->setValue("ultimo",$ultCorr);
				$correlativo->doUpdate();
				//limpio objeto correlativo
				$correlativo->clear();
			}
			else
			{
				//limpio objeto correlativo
				$correlativo->clear();
				//inserto nuevo correlativo
				$correlativo->setValue("tipo","actuacion");
				$correlativo->setValue("id_actividad",$idActividad);
				$correlativo->setValue("anio",$anio);
				$correlativo->setValue("ultimo","1");
				$correlativo->doSave();
				$ultCorr=1;
			}
			/*FIN CALCULO CORRELATIVOS*/
			
			//conformacion de codigo de actividad a insertar (XXX-YY-ZZZ) (tematica-anio-correlativo)	
			$actividad->addCondition("id",$idActividad);
			$actividad->doSelectAll();
			$actividad->next();
			$codigoActividad=$actividad->getValue("codigo");
			$codigoActuacion=$codigoActividad."-".$anio."-".str_pad($ultCorr,3,"0",STR_PAD_LEFT);
			
			//inicio seteo datos actuacion
			$actuacion->setValue("codigo_actuacion",$codigoActuacion);
			$actuacion->setValue("anio",$anio);
			$actuacion->setValue("id_actividad",$idActividad);
			$actuacion->setValue("fecha_inicio",$fecha_inicio);
			$actuacion->setValue("fecha_fin",$fecha_fin);
			$actuacion->setValue("id_entidad",$entidad);
			$actuacion->setValue("id_estatus",$estatus);
			$actuacion->setValue("ind_financiero",$indFinanciero);
			if((strcmp($indFinanciero,"A")==0))
			{
				$actuacion->setValue("tip_financiero",$tipFinancieroA);
			}
			else
			{
				$actuacion->setValue("tip_financiero",$tipFinancieroL);	
			}
			$actuacion->setValue("duracion",$duracion);
			$actuacion->setValue("horas",$horas);
			$actuacion->setValue("lugar",$lugar);
			if(isset($observaciones))
			{
				if(!(strcmp($observaciones,"")==0))
				{
					$actuacion->setValue("observaciones",$observaciones);
				}
			}
			if(isset($refrigerios))
			{
				if(!(strcmp($refrigerios,"")==0))
				{
					$actuacion->setValue("refrigerios",$refrigerios);
				}
			}
			if(isset($viaticos_sel))
			{
				if(!(strcmp($viaticos_sel,"")==0))
				{
					$actuacion->setValue("viaticos",$viaticos_sel);
				}
			}
			//fin seteo datos actuacion
			
			//guardar actuacion
			$actuacion->doSave();
			
			//obtengo ID de la actuacion ingresada
			$id_actuacion=$actuacion->getId();
			
			//inicio asociacion operador con actuacion
			if(!(strcmp($operador,"")==0))
			{
				$actuacion_usuario->setValue("id_actuacion",$id_actuacion);
				$actuacion_usuario->setValue("id_usuario",$operador);
				$actuacion_usuario->setValue("fecha_expiracion",$fecha_expiracion);
				$actuacion_usuario->setValue("hora_expiracion",$hora_expiracion);
				$actuacion_usuario->doSave();
			}
			//fin asociacion operador
			
			$actuacion->getConnection()->confirmarTransaccion();
			//$this->logger->info(LocalUser::getCurrentUser()->getId() ." " . LocalUser::getCurrentUser()->getIdPersona()." Actuacion creada");
			echo '1';
		}
		catch (Exception $e) 
		{
			$actuacion->getConnection()->revertirTransaccion();
			//$this->logger->error( LocalUser::getCurrentUser()->getId() ." " . LocalUser::getCurrentUser()->getIdPersona()." error al registrar actuacion: ".$e->getMessage());
			echo '0';
		}	
	}
	
	public function editar() 
	{
		try 
		{
			$this->layout = "aplicacion";
			$_SESSION["pestania"] = 1;
			$this->nivelesPermitidos = array(2); //supervisor
			
			extract($_REQUEST);
			$this->ap=$ap;
			$this->ap2=$ap2;
			$this->idActividad=$idActividad;
			$this->nombreActividad=$nombreActividad;
			$this->idActuacion=$idActuacion;
			$this->codigoActuacion=$codigoActuacion;
			
			$this->actuacion=new Actuaciones();
			$this->actuacion->doSelectOne($idActuacion);
			$this->actuacion->next();
			
			$this->actuacion_usuario=new Actuacionesusuarios();
			$this->actuacion_usuario->addCondition("id_actuacion",$idActuacion);
			$this->actuacion_usuario->doSelectAll();
			
			$this->clasificaciones=new Clasificaciones();
			$this->clasificaciones->doSelectAll();
			$this->tematicas=new Tematicas();
			$this->tematicas->doSelectAll();
			$this->alcances=new Alcances();
			$this->alcances->doSelectAll();
			$this->tipos=new Tipos();
			$this->tipos->doSelectAll();
			$this->planificadores=new Usuarios();
			$this->planificadores->addCondition("estatus","1");
			//$this->planificadores->addCondition("id_nivel_usuario","3,4",DB_IN);
			$this->planificadores->addCondition("id_nivel_usuario","3");
			$this->planificadores->addOrderBy("nombres",DB_ASC);
			$this->planificadores->doSelectAllWithForeign("personas","id_persona");
			$this->entidades=new Entidades();
			$this->entidades->doSelectAll();
			$this->estatus=new Estatus();
			$this->estatus->doSelectAll();
			$this->logger->info(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()." actuaciones->editar");
		} 
		catch (Exception $e) 
		{
			$this->logger->error(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()."Error en actuaciones->editar: ".$e->getMessage());
			$mensaje="Ha ocurrido un error al consultar su informaci&oacute;n. Por favor intente m&aacute;s tarde.";
			$this->continuar=false;
			$this->showNotificacion("",$mensaje,"Aceptar","actividades/","aplicacion","");
		}
	}

	public function xGuardarEditar() 
	{
		try 
		{
			extract($_REQUEST);
			$this->nivelesPermitidos = array(2); //supervisor
			
			//creacion de objetos modelos
			$actuacion=new Actuaciones();
			$actuacion_usuario=new Actuacionesusuarios();
			//fin creacion
			$actuacion->getConnection()->iniciarTransaccion();
			
			//obteniendo actuacion a editar
			$actuacion->addCondition("id",$idActuacion);
			$actuacion->doSelectAll();
			$actuacion->next();
			
			//inicio seteo datos de actividad
			$actuacion->setValue("id_actividad",$idActividad);
			$actuacion->setValue("fecha_inicio",$fecha_inicio);
			$actuacion->setValue("fecha_fin",$fecha_fin);
			$actuacion->setValue("id_entidad",$entidad);
			$actuacion->setValue("id_estatus",$estatus);
			$actuacion->setValue("ind_financiero",$indFinanciero);
			if((strcmp($indFinanciero,"A")==0))
			{
				$actuacion->setValue("tip_financiero",$tipFinancieroA);
			}
			else
			{
				$actuacion->setValue("tip_financiero",$tipFinancieroL);	
			}
			$actuacion->setValue("duracion",$duracion);
			$actuacion->setValue("horas",$horas);
			$actuacion->setValue("lugar",$lugar);
			$actuacion->setValue("fecha_actualizacion",date("d")."-".date("m")."-".date("Y"));
			if(isset($observaciones))
			{
				if(!(strcmp($observaciones,"")==0))
				{
					$actuacion->setValue("observaciones",$observaciones);
				}
			}
			else
			{
				$actuacion->setValue("observaciones"," ");
			}
			if(isset($refrigerios))
			{
				if(!(strcmp($refrigerios,"")==0))
				{
					$actuacion->setValue("refrigerios",$refrigerios);
				}
			}
			if(isset($viaticos_sel))
			{
				if(!(strcmp($viaticos_sel,"")==0))
				{
					$actuacion->setValue("viaticos",$viaticos_sel);
				}
			}
			//fin seteo datos actuacion
			
			//actualizando actuacion
			$actuacion->doUpdate();
				
			//inicio asociacion operador/planificador con actuacion
			//obtengo operador asociado a actuacion			
			$actuacion_usuario->addCondition("id_actuacion",$idActuacion);
			$actuacion_usuario->doSelectAll();
			if($actuacion_usuario->next())
			{
				if((strcmp($operador,"")==0))
				{
					//eliminar operador/planificador
					$idEliminar=$actuacion_usuario->getValue("id");
					$actuacion_usuario->clear();
					$actuacion_usuario->doDeleteAll("id",$idEliminar,DB_EQUAL);
				}
				else
				{
					//actualizar operador/planificador con actuacion
					$actuacion_usuario->setValue("id_actuacion",$idActuacion);
					$actuacion_usuario->setValue("id_usuario",$operador);
					$actuacion_usuario->setValue("hora_expiracion",$hora_expiracion);
					$actuacion_usuario->setValue("fecha_expiracion",$fecha_expiracion);
					$actuacion_usuario->setValue("fecha_actualizacion",date("d")."-".date("m")."-".date("Y"));
					$actuacion_usuario->doUpdate();
					$actuacion_usuario->clear();
				}
			}
			else
			{
				// asocio operador/planificador con actuacion
				if(!(strcmp($operador,"")==0))
				{
					$actuacion_usuario->clear();
					$actuacion_usuario->setValue("id_actuacion",$idActuacion);
					$actuacion_usuario->setValue("id_usuario",$operador);
					$actuacion_usuario->setValue("hora_expiracion",$hora_expiracion);
					$actuacion_usuario->setValue("fecha_expiracion",$fecha_expiracion);
					$actuacion_usuario->doSave();
				}
			}
			$actuacion->getConnection()->confirmarTransaccion();
			echo '1';
		}
		catch (Exception $e) 
		{
			$actuacion->getConnection()->revertirTransaccion();
			echo '0';
		}	
	}

	public function xEliminar() 
	{
		try 
		{
			$this->nivelesPermitidos = array(2); //supervisor
			extract($_REQUEST);
			//creacion de objetos modelos
			$actuacion=new Actuaciones();
			$actuaciones_usuarios=new Actuacionesusuarios();
			
			//begin
			$actuacion->getConnection()->iniciarTransaccion();
			
			//inicio eliminacion de tabla actuacionesusuarios
			//verifica existencia en actuacionesusuarios
			$actuaciones_usuarios->addCondition("id_actuacion",$id_actuacion);
			$actuaciones_usuarios->doSelectAll();
			if($actuaciones_usuarios->next())
			{
				$actuaciones_usuarios->clear();
				$actuaciones_usuarios->doDeleteAll("id_actuacion",$id_actuacion,DB_EQUAL);
			}
			//fin eliminacion de tabla actuacionesusuarios
			
			//eliminando actuacion
			$actuacion->doDeleteAll("id",$id_actuacion,DB_EQUAL);
			
			//commit
			$actuacion->getConnection()->confirmarTransaccion();
			echo '1';
		} 
		catch (Exception $e) 
		{
			$actuacion->getConnection()->revertirTransaccion();
			echo '0';
		}
	}
	
	public function registrarParticipantes() 
	{
		try 
		{
			$this->layout = "aplicacion";
			$_SESSION["pestania"] = 1;
			$this->nivelesPermitidos = array(2); //supervisor
			
			extract($_REQUEST);
			$this->ap=$ap;
			$this->ap2=$ap2;
			$this->idActividad=$idActividad;
			$this->nombreActividad=$nombreActividad;
			$this->idActuacion=$idActuacion;
			$this->codigoActuacion=$codigoActuacion;
			
			$this->actuacion=new Actuaciones();
			$this->actuacion->doSelectOne($idActuacion);
			$this->actuacion->next();
			
			$this->actuaciones_participantes=new Actuacionesparticipantes();
			$this->actuaciones_participantes->addCondition("id_actuacion",$idActuacion);
			$this->actuaciones_participantes->doSelectAll();
			
			$this->adscripciones=new Adscripciones();
			$this->adscripciones->doSelectAll();
			$this->dependencias=new Dependencias();
			$this->dependencias->doSelectAll();
			$this->organismos=new Organismos();
			$this->organismos->doSelectAll();
			$this->paises=new Paises();
			$this->paises->doSelectAll();
			$this->entidades=new Entidades();
			$this->entidades->doSelectAll();
			$this->tiposfuncionarios=new Tiposfuncionarios();
			$this->tiposfuncionarios->doSelectAll();
			$this->logger->info(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()." actuaciones->registrar participantes");
		} 
		catch (Exception $e) 
		{
			$this->logger->error(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()."Error en actuaciones->registrar participantes: ".$e->getMessage());
			$mensaje="Ha ocurrido un error al consultar su informaci&oacute;n. Por favor intente m&aacute;s tarde.";
			$this->continuar=false;
			$this->showNotificacion("",$mensaje,"Aceptar","actividades/","aplicacion","");
		}
	}
	
	public function xBuscarPersona()
	{
		try {
			extract($_REQUEST);
			$persona = new Personas();
			$persona->addCondition("tipo_identificacion", $tipo);
			$persona->addCondition("numero_identificacion", $numero);
			$persona->doSelectAll();
			if($persona->next())
			{
				$resp="";
				//$resp.="'jean',";
				$resp.="'".$persona->getValue("nombres")."',";
				//$resp.="'nizama',";
				$resp.="'".$persona->getValue("apellidos")."',";
				//$resp.="0,";
				$resp.="'".$persona->getValue("genero")."',";
				//$resp.="0,";
				$resp.=$persona->getValue("id_organismo").",";
				//$resp.="0,";
				$resp.=$persona->getValue("id_adscripcion").",";
				//$resp.="0,";
				$resp.=$persona->getValue("id_dependencia").",";
				//$resp.="'analista',";
				$resp.="'".$persona->getValue("cargo")."',";
				//$resp.="0,";
				$resp.=$persona->getValue("id_tipo_funcionario").",";
				//$resp.="0,";
				$resp.=$persona->getValue("id_entidad_federal").",";
				//$resp.="0";
				$resp.=$persona->getValue("id_pais").",";
				//$resp.="1,";
				$resp.=$persona->getValue("id");
				echo "setearCampos(".$resp.");";
			}
			else
			{
				echo "";
			}
		}
		catch (Exception $e) {
			$this->logger->error("Error al consultar persona: ".$e->getMessage());
		}
	}
	
	public function xAgregarPersona() 
	{
		try 
		{
			extract($_REQUEST);
			$this->nivelesPermitidos = array(2,3);
			//creacion de objetos modelos
			$participante=new Personas();
			$actuacion_participante=new Actuacionesparticipantes();
			//fin creacion
			$participante->getConnection()->iniciarTransaccion();
			
			if((strcmp($idParticipante,"")==0))
			{
				//inicio seteo datos de participante
				$participante->setValue("nombres",$nombres);
				$participante->setValue("apellidos",$apellidos);
				$participante->setValue("genero",$genero);
				$participante->setValue("tipo_identificacion",$tipo_identificacion);
				$participante->setValue("numero_identificacion",$ndi);
				$participante->setValue("id_organismo",$organismo);
				$participante->setValue("id_adscripcion",$adscripcion);
				$participante->setValue("id_dependencia",$dependencia);
				$participante->setValue("cargo",$cargo);
				$participante->setValue("id_tipo_funcionario",$tipo_funcionario);
				$participante->setValue("id_entidad_federal",$entidad);
				$participante->setValue("id_pais",$pais);
				//fin seteo datos participante	
				$participante->doSave();
				$idParticipante=$participante->getId();
			}
			else
			{
				//obteniendo actuacion a editar
				$participante->addCondition("id",$idParticipante);
				$participante->doSelectAll();
				$participante->next();
				//inicio seteo datos de participante
				$participante->setValue("nombres",$nombres);
				$participante->setValue("apellidos",$apellidos);
				$participante->setValue("genero",$genero);
				$participante->setValue("tipo_identificacion",$tipo_identificacion);
				$participante->setValue("numero_identificacion",$ndi);
				$participante->setValue("id_organismo",$organismo);
				$participante->setValue("id_adscripcion",$adscripcion);
				$participante->setValue("id_dependencia",$dependencia);
				$participante->setValue("cargo",$cargo);
				$participante->setValue("id_tipo_funcionario",$tipo_funcionario);
				$participante->setValue("id_entidad_federal",$entidad);
				$participante->setValue("id_pais",$pais);
				//fin seteo datos participante	
				$participante->doUpdate();
			}
			
			$actuacion_participante->setValue("id_actuacion",$idActuacion);
			$actuacion_participante->setValue("id_persona",$idParticipante);
			$actuacion_participante->setValue("id_organismo",$organismo);
			$actuacion_participante->setValue("id_adscripcion",$adscripcion);
			$actuacion_participante->setValue("id_dependencia",$dependencia);
			$actuacion_participante->setValue("cargo",$cargo);
			$actuacion_participante->setValue("id_tipo_funcionario",$tipo_funcionario);
			$actuacion_participante->setValue("id_entidad",$entidad);
			$actuacion_participante->setValue("id_pais",$pais);
			$actuacion_participante->doSave();
			$participante->getConnection()->confirmarTransaccion();
			echo '1';
		}
		catch (Exception $e) 
		{
			$participante->getConnection()->revertirTransaccion();		
			$actuacion_participante->clear();
			$actuacion_participante->addCondition("id_persona",$idParticipante);
			$actuacion_participante->addCondition("id_actuacion",$idActuacion);
			$actuacion_participante->doSelectAll();
			
			if($actuacion_participante->next())
				echo '2';
			else
				echo '0';
		}	
	}
	
	public function xEliminarActuacionParticipante() 
	{
		try 
		{
			$this->nivelesPermitidos = array(2,3); //supervisor, planificador
			extract($_REQUEST);
			//creacion de objetos modelos
			$actuacion_participante=new Actuacionesparticipantes();
			
			//eliminando actuacion
			$actuacion_participante->doDeleteAll("id",$id,DB_EQUAL);
			echo '1';
		} 
		catch (Exception $e) 
		{
			echo '0';
		}
	}
	
	public function xEliminarParticipantes() 
	{
		try 
		{
			$this->nivelesPermitidos = array(2,3); //supervisor, planificador
			extract($_REQUEST);
			//creacion de objetos modelos
			$actuacion_participante=new Actuacionesparticipantes();
			
			//eliminando actuacion
			$actuacion_participante->doDeleteAll("id_actuacion",$id,DB_EQUAL);
			echo '1';
		} 
		catch (Exception $e) 
		{
			echo '0';
		}
	}
	
	public function registrar()
	{
	try 
		{
			$this->layout = "aplicacion";
			$_SESSION["pestania"] = 0;
			$this->nivelesPermitidos = array(2,3,4); //supervisor,planificador
			extract($_REQUEST);
			if(isset($ap))
				$this->ap=$ap;
			else
				$this->ap=1;
			
			//creacion de objetos modelos
			$actividades_usuario=new Actividadesusuarios();
			
			$sql="SELECT eliminar_temporales()";
			$actividades_usuario->execQuery($sql);
			
			$this->actuaciones_usuario=new Actuacionesusuarios();
			
			//si el usuario es supervisor (nivel 2) puede ver todas las actividades creadas
			if(!(strcmp(LocalUser::getCurrentUser()->getNivel(),"2")==0))
			{
				//aplicando filtro de actuaciones al usuario logeado
				$actividades_usuario->addCondition("id_usuario",LocalUser::getCurrentUser()->getId());
				$actividades_usuario->doSelectAll();
				$ids="";
				while($actividades_usuario->next())
				{
					$ids.=$actividades_usuario->getValue("id_actividad").",";
				}
				if((strcmp($ids,"")==0))
				{
					$sql="SELECT DISTINCT (id_actuacion),actuaciones.id, id_actividad,codigo_actuacion,fecha_inicio,fecha_fin,horas,id_entidad,id_estatus FROM actuacionesusuarios, actuaciones WHERE id_actuacion=actuaciones.id AND actuacionesusuarios.id_usuario=".LocalUser::getCurrentUser()->getId();				
				}
				else
				{
					$ids=substr($ids,0,strlen($ids)-1);
					$sql="SELECT DISTINCT (id_actuacion),actuaciones.id, id_actividad,codigo_actuacion,fecha_inicio,fecha_fin,horas,id_entidad,id_estatus FROM actuacionesusuarios, actuaciones WHERE id_actuacion=actuaciones.id AND actuacionesusuarios.id_usuario=".LocalUser::getCurrentUser()->getId()." OR actuaciones.id_actividad IN (".$ids.")";
				}
			}
			else
			{
				//aplicando distinct
				$sql="SELECT * FROM actuaciones";
			}
			$this->actuaciones_usuario->execQuery($sql);
			$this->logger->info(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()." actuaciones->registrar");
		} 
		catch (Exception $e) 
		{
			$this->logger->error(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()."Error en actuaciones->registrar: ".$e->getMessage());
			$mensaje="Ha ocurrido un error al consultar su informaci&oacute;n. Por favor intente m&aacute;s tarde.";
			$this->continuar=false;
			$this->showNotificacion("",$mensaje,"Regresar","actividades/","aplicacion","");
		}
	}
	
	public function registrarPersonas() 
	{
		try 
		{
			$this->layout = "aplicacion";
			$_SESSION["pestania"] = 0;
			$this->nivelesPermitidos = array(2,3,4); //supervisor, planificador, operador
			
			extract($_REQUEST);
			$this->idActuacion=$idActuacion;
			
			$this->actuacion=new Actuaciones();
			$this->actuacion->doSelectOne($idActuacion);
			$this->actuacion->next();
			
			$idActividad=$this->actuacion->getValue("id_actividad");
			
			$this->actividad=new Actividades();
			$this->actividad->addCondition("id",$idActividad);
			$this->actividad->doSelectAll();
			$this->actividad->next();
			
			$this->actuaciones_participantes=new Actuacionesparticipantes();
			$this->actuaciones_participantes->addCondition("id_actuacion",$idActuacion);
			$this->actuaciones_participantes->doSelectAll();
			
			$this->adscripciones=new Adscripciones();
			$this->adscripciones->doSelectAll();
			$this->dependencias=new Dependencias();
			$this->dependencias->doSelectAll();
			$this->organismos=new Organismos();
			$this->organismos->doSelectAll();
			$this->paises=new Paises();
			$this->paises->doSelectAll();
			$this->entidades=new Entidades();
			$this->entidades->doSelectAll();
			$this->tiposfuncionarios=new Tiposfuncionarios();
			$this->tiposfuncionarios->doSelectAll();
			$this->logger->info(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()." actuaciones->registrar personas");
		} 
		catch (Exception $e) 
		{
			$this->logger->error(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()."Error en actuaciones->registrar personas: ".$e->getMessage());
			$mensaje="Ha ocurrido un error al consultar su informaci&oacute;n. Por favor intente m&aacute;s tarde.";
			$this->continuar=false;
			$this->showNotificacion("",$mensaje,"Regresar","actividades/","aplicacion","");
		}
	}
	
	public function registrarPonentes() 
	{
		try 
		{
			$this->layout = "aplicacion";
			$_SESSION["pestania"] = 0;
			$this->nivelesPermitidos = array(2,3,4); //supervisor, planificador, operador
			
			extract($_REQUEST);
			$this->idActuacion=$idActuacion;
			
			$this->actuacion=new Actuaciones();
			$this->actuacion->doSelectOne($idActuacion);
			$this->actuacion->next();
			
			$idActividad=$this->actuacion->getValue("id_actividad");
			
			$this->actividad=new Actividades();
			$this->actividad->addCondition("id",$idActividad);
			$this->actividad->doSelectAll();
			$this->actividad->next();
			
			$this->actuaciones_ponentes=new Actuacionesponentes();
			$this->actuaciones_ponentes->addCondition("id_actuacion",$idActuacion);
			$this->actuaciones_ponentes->doSelectAll();
			
			$this->adscripciones=new Adscripciones();
			$this->adscripciones->doSelectAll();
			$this->dependencias=new Dependencias();
			$this->dependencias->doSelectAll();
			$this->organismos=new Organismos();
			$this->organismos->doSelectAll();
			$this->paises=new Paises();
			$this->paises->doSelectAll();
			$this->entidades=new Entidades();
			$this->entidades->doSelectAll();
			$this->tratamientos=new Tratamientos();
			$this->tratamientos->doSelectAll();
			$this->logger->info(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()." actuaciones->registrar ponentes");
		} 
		catch (Exception $e) 
		{
			$this->logger->error(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()."Error en actuaciones->registrar ponentes: ".$e->getMessage());
			$mensaje="Ha ocurrido un error al consultar su informaci&oacute;n. Por favor intente m&aacute;s tarde.";
			$this->continuar=false;
			$this->showNotificacion("",$mensaje,"Aceptar","actuaciones/registrar","aplicacion","");
		}
	}
	
	public function xAgregarPonente() 
	{
		try 
		{
			extract($_REQUEST);
			$this->nivelesPermitidos = array(2,3,4);
			//creacion de objetos modelos
			$ponente=new Personas();
			$actuacion_ponente=new Actuacionesponentes();
			//fin creacion
			$ponente->getConnection()->iniciarTransaccion();
			
			if((strcmp($idPonente,"")==0))
			{
				//inicio seteo datos de ponente
				$ponente->setValue("nombres",$nombres);
				$ponente->setValue("apellidos",$apellidos);
				$ponente->setValue("genero",$genero);
				$ponente->setValue("tipo_identificacion",$tipo_identificacion);
				$ponente->setValue("numero_identificacion",$ndi);
				$ponente->setValue("id_organismo",$organismo);
				$ponente->setValue("id_adscripcion",$adscripcion);
				$ponente->setValue("id_dependencia",$dependencia);
				$ponente->setValue("cargo",$cargo);
				$ponente->setValue("id_entidad_federal",$entidad);
				$ponente->setValue("id_pais",$pais);
				//fin seteo datos ponente	
				$ponente->doSave();
				$idPonente=$ponente->getId();
			}
			else
			{
				//obteniendo actuacion a editar
				$ponente->addCondition("id",$idPonente);
				$ponente->doSelectAll();
				$ponente->next();
				//inicio seteo datos de ponente
				$ponente->setValue("nombres",$nombres);
				$ponente->setValue("apellidos",$apellidos);
				$ponente->setValue("genero",$genero);
				$ponente->setValue("tipo_identificacion",$tipo_identificacion);
				$ponente->setValue("numero_identificacion",$ndi);
				$ponente->setValue("id_organismo",$organismo);
				$ponente->setValue("id_adscripcion",$adscripcion);
				$ponente->setValue("id_dependencia",$dependencia);
				$ponente->setValue("cargo",$cargo);
				$ponente->setValue("id_entidad_federal",$entidad);
				$ponente->setValue("id_pais",$pais);
				//fin seteo datos ponente	
				$ponente->doUpdate();
			}
			
			$actuacion_ponente->setValue("id_actuacion",$idActuacion);
			$actuacion_ponente->setValue("id_persona",$idPonente);
			$actuacion_ponente->setValue("id_organismo",$organismo);
			$actuacion_ponente->setValue("id_adscripcion",$adscripcion);
			$actuacion_ponente->setValue("id_dependencia",$dependencia);
			$actuacion_ponente->setValue("cargo",$cargo);
			$actuacion_ponente->setValue("id_tratamiento",$tratamiento);
			$actuacion_ponente->setValue("id_entidad",$entidad);
			$actuacion_ponente->setValue("id_pais",$pais);
			$actuacion_ponente->setValue("ponencia",$ponencia);
			$actuacion_ponente->setValue("horas",$horas);
			$actuacion_ponente->doSave();
			$ponente->getConnection()->confirmarTransaccion();
			echo '1';
		}
		catch (Exception $e) 
		{
			$ponente->getConnection()->revertirTransaccion();		
			$actuacion_ponente->clear();
			$actuacion_ponente->addCondition("id_persona",$idPonente);
			$actuacion_ponente->addCondition("id_actuacion",$idActuacion);
			$actuacion_ponente->doSelectAll();
			
			if($actuacion_ponente->next())
				echo '2';
			else
				echo '0';
		}	
	}
	
	public function xEliminarActuacionPonente() 
	{
		try 
		{
			$this->nivelesPermitidos = array(2,3,4); //supervisor, planificador
			extract($_REQUEST);
			//creacion de objetos modelos
			$actuacion_ponente=new Actuacionesponentes();
			
			//eliminando actuacion
			$actuacion_ponente->doDeleteAll("id",$id,DB_EQUAL);
			echo '1';
		} 
		catch (Exception $e) 
		{
			echo '0';
		}
	}
	
	public function xEliminarPonentes() 
	{
		try 
		{
			$this->nivelesPermitidos = array(2,3,4); //supervisor, planificador, operador
			extract($_REQUEST);
			//creacion de objetos modelos
			$actuacion_ponente=new Actuacionesponentes();
			
			//eliminando actuacion
			$actuacion_ponente->doDeleteAll("id_actuacion",$id,DB_EQUAL);
			echo '1';
		} 
		catch (Exception $e) 
		{
			echo '0';
		}
	}
	
	public function registrarAsistencias() 
	{
		try 
		{
			$this->layout = "aplicacion";
			$_SESSION["pestania"] = 0;
			$this->nivelesPermitidos = array(2,3,4); //supervisor, planificador, operador
			
			extract($_REQUEST);
			$this->idActuacion=$idActuacion;
			
			$this->actuacion=new Actuaciones();
			$this->actuacion->doSelectOne($idActuacion);
			$this->actuacion->next();
			
			$idActividad=$this->actuacion->getValue("id_actividad");
			
			$this->actividad=new Actividades();
			$this->actividad->addCondition("id",$idActividad);
			$this->actividad->doSelectAll();
			$this->actividad->next();
			
			$this->actuaciones_participantes=new Actuacionesparticipantes();
			$this->actuaciones_participantes->addCondition("id_actuacion",$idActuacion);
			$this->actuaciones_participantes->doSelectAll();
			
			$this->tratamientos=new Tratamientos();
			$this->tratamientos->doSelectAll();
			$this->logger->info(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()." actuaciones->registrar asistencias");
		} 
		catch (Exception $e) 
		{
			$this->logger->error(LocalUser::getCurrentUser()->getId()." - ".LocalUser::getCurrentUser()->getAlias()."Error en actuaciones->registrar asistencias: ".$e->getMessage());
			$mensaje="Ha ocurrido un error al consultar su informaci&oacute;n. Por favor intente m&aacute;s tarde.";
			$this->continuar=false;
			$this->showNotificacion("",$mensaje,"Aceptar","actuaciones/registrar","aplicacion","");
		}
	}
	
	public function xGuardarAsistencias() 
	{

		try 
		{
			extract($_REQUEST);
			$this->nivelesPermitidos = array(2,3,4);
			//creacion de objetos modelos
			
			$act_participantes=new Actuacionesparticipantes();
			//fin creacion
			$act_participantes->getConnection()->iniciarTransaccion();
			
			$datos=$datosAsistencia;
			$datosArreglo=explode("|", $datos);
			$c_asistencia_arreglo=explode(",",$certf_asistencia);
			$c_aprobacion_arreglo=explode(",",$certf_aprobacion);
			$totalElementos = count($datosArreglo);
			for ($i = 0; $i < $totalElementos-1; $i++) 
			{
				$linea=explode(";",$datosArreglo[$i]);
				$idActPart=$linea[0];
				$asistencia=$linea[1];
				//obteniendo actuacion a editar
				$act_participantes->addCondition("id",$idActPart);
				$act_participantes->doSelectAll();
				$act_participantes->next();
				//seteo asistencia
				$act_participantes->setValue("asistencia",$asistencia);
				$act_participantes->setValue("certf_asistencia",$c_asistencia_arreglo[$i]);
				if(!(strcmp($certf_aprobacion,"")==0))
					$act_participantes->setValue("certf_aprobacion",$c_aprobacion_arreglo[$i]);
				//actualizo asistencia	
				$act_participantes->doUpdate();
			}
			$act_participantes->getConnection()->confirmarTransaccion();
			echo '1';
		}
		catch (Exception $e) 
		{
			$act_participantes->getConnection()->revertirTransaccion();
			echo '0';
		}	
	}
	
	public function xFiltrarFuncionariosByOrganismo()
	{
		try {
			extract($_REQUEST);
			$tiposfuncionarios=new Tiposfuncionarios();
			$tiposfuncionarios->addCondition("id_organismo",$id_organismo);
			$tiposfuncionarios->addOrderBy("tipo_funcionario", ASC);
			$tiposfuncionarios->doSelectAll();
			$opciones="";
			while($tiposfuncionarios->next()) 
			{
				$opciones.="<option value='".$tiposfuncionarios->getValueByPos(0)."'>".$tiposfuncionarios->getValueByPos(1)."</option>\n";
			}
			echo $opciones;
		}
		catch (Exception $e) 
		{
			$this->logger->error(LocalUser::getCurrentUser()->getId()." ".LocalUser::getCurrentUser()->getIdPersona()." error al filtrar ciudades: ".$e->getMessage());
		}
	}

	public function xGenerarPlanillaAsistencia() 
	{
		try 
		{
			$this->nivelesPermitidos = array(1);
			extract($_REQUEST);
			
			$actuaciones_participantes=new Actuacionesparticipantes();
			$actuaciones_participantes->addCondition("id_actuacion",$idActuacion);
			$actuaciones_participantes->addOrderBy("personas.apellidos,personas.nombres",DB_ASC);
			$actuaciones_participantes->doSelectAllWithForeign("personas","id_persona");
		
			$actuacion=new Actuaciones();
			$actuacion->addCondition("id",$idActuacion);
			$actuacion->doSelectAll();
			$actuacion->next();
			
			$idActividad=$actuacion->getValue("id_actividad");
			$actividad=new Actividades();
			$actividad->addCondition("id",$idActividad);
			$actividad->doSelectAll();
			$actividad->next();
			
			$actividad_usuario=new Actividadesusuarios();
			$actividad_usuario->addCondition("id_actividad",$idActividad);
			$actividad_usuario->addOrderBy("tipo_planificador",DB_ASC);
			$actividad_usuario->doSelectAll();
			$planificadores="";
			while($actividad_usuario->next())
			{
				$usuario=$actividad_usuario->getForeign("usuarios","id_usuario");
				$planificador=$usuario->getForeign("personas","id_persona");
				$planificadores.=$planificador->getValue("nombres")." ".$planificador->getValue("apellidos").", ";
			}
			$planificadores=substr($planificadores,0,strlen($planificadores)-2);
			
			$myHtml="";
			$myHtml.="<html>";
			$myHtml.="	<head>";
			$myHtml.="		<title>Control de Asistencia</title>";
			$myHtml.="      <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>";
			$myHtml.="      <link rel='stylesheet' type='text/css' href='recursos/css/plantilla_pdf.css'/>";
			$myHtml.="	</head>";
			$myHtml.="	<body>";
			$myHtml.="	<br/>";
			$myHtml.="		<table align='center' width='98%' cellpadding='0' cellspacing='0' class='tablaConBorder'>";
			$myHtml.="			<tr>";
			$myHtml.="				<td class='celLogo' rowspan='3' align='center'><br/><img src='recursos/imgs/logo.gif' class='imgLogo' title='Ministerio Publico'/></td>";
			$myHtml.="				<td align='center' class='celdaDerecha' id='conHeader' style='height:30px;' valign='middle'>&nbsp;<b>CONTROL DE ASISTENCIA PARA PARTICIPANTES</b>&nbsp;</td>";
			$myHtml.="				<td class='celdaDerecha' id='conHeader' style='height:30px;' >&nbsp;Fecha: &nbsp;<br/><div align='center'></div></td>";
			$myHtml.="				<td class='celdaDerecha' id='conHeader' style='height:30px;' >&nbsp;C&oacute;digo del Evento: <br/><div align='center'><b>".$actuacion->getValue("codigo_actuacion")."</b></div></td>";
			$myHtml.="				<td class='celLogo2' rowspan='3' align='center'><br/><img src='recursos/imgs/escuela.jpg' class='imgLogo' title='Escuela Nacional de Fiscales del Ministerio Publico'/></td>";
			$myHtml.="			</tr>";
			$myHtml.="			<tr>";
			$myHtml.="				<td rowspan='2' class='celdaDerecha'>&nbsp;Nombre del Evento:&nbsp;<br/><div align='center'><b>".$actividad->getValue("nombre")."</b></div></td>";
			$myHtml.="				<td colspan='2' class='celdaDerecha' style='height:30px;' >&nbsp;Lugar&nbsp; <br/><div align='center'><b>".$actuacion->getValue("lugar")."</b></div></td>";
			$myHtml.="			</tr>";
			$myHtml.="			<tr>";
			$myHtml.="				<td colspan='2' class='celdaDerecha' style='height:30px;' >&nbsp;Programador(es) Acad&eacute;micos: &nbsp;<br/><div align='center'><b>".$planificadores."</b></div></td>";
			$myHtml.="			</tr>";
			$myHtml.="		</table>";
			$myHtml.="		<table align='center' width='98%' cellpadding='0' cellspacing='0' class='tablaConBorder'>";
			$myHtml.="			<thead>";
			$myHtml.="			<tr><td>&nbsp;<br/></td></tr>";
			$myHtml.="			<tr>";
			$myHtml.="				<td  rowspan='2' width='4%' class='celdaIzquierda' id='conHeader' align='center'><b>N&ordm;</b></td>";
			$myHtml.="				<td  rowspan='2' width='8%' class='celdaDerecha' id='conHeader' align='center'><b>Apellidos</b></td>";
			$myHtml.="				<td  rowspan='2' width='8%' class='celdaDerecha' id='conHeader' align='center'><b>Nombres</b></td>";
			$myHtml.="				<td  rowspan='2' width='8%' class='celdaDerecha' id='conHeader' align='center'><b>C&eacute;dula</b></td>";
			$myHtml.="				<td  rowspan='2' width='5%' class='celdaDerecha' id='conHeader' align='center'><b>G&eacute;nero</b></td>";
			$myHtml.="				<td  rowspan='2' width='8%' class='celdaDerecha' id='conHeader' align='center'><b>Cargo</b></td>";
			$myHtml.="				<td  rowspan='2' width='8%' class='celdaDerecha' id='conHeader' align='center'><b>Estado</b></td>";
			$myHtml.="				<td  rowspan='2' width='15%' class='celdaDerecha' id='conHeader' align='center'><b>Direcci&oacute;n Adscripci&oacute;n</b></td>";
			$myHtml.="				<td  rowspan='2' width='15%' class='celdaDerecha' id='conHeader' align='center'><b>Organismo</b></td>";
			$myHtml.="				<td  width='13%' class='celdaDerecha' id='conHeader' align='center' colspan='2'><b>Firma Asistencia</b></td>";
			$myHtml.="			</tr>";
			$myHtml.="			<tr>";
			$myHtml.="				<td class='celdaDerecha' align='center'>Ma&ntilde;ana</td>";
			$myHtml.="				<td class='celdaDerecha' align='center'>Tarde</td>";
			$myHtml.="			</tr>";
			$myHtml.="			</thead>";
			$myHtml.="			<tbody>";
			$i=1;
			while($actuaciones_participantes->next()) 
			{
				$personas=$actuaciones_participantes->getForeign("personas","id_persona");
				$entidad=$actuaciones_participantes->getForeign("entidades","id_entidad");
				$adscripcion=$actuaciones_participantes->getForeign("adscripciones","id_adscripcion");
				$organismo=$actuaciones_participantes->getForeign("organismos","id_organismo");
				$myHtml.="<tr>";
				$myHtml.="<td align='center' style='height:50px;' class='celdaIzquierda'>".$i."</td>";
				$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>".$personas->getValue("apellidos")."</td>";
				$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>".$personas->getValue("nombres")."</td>";
				$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>".$personas->getValue("numero_identificacion")."</td>";
				$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>".$personas->getValue("genero")."</td>";
				$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>".$actuaciones_participantes->getValue("cargo")."</td>";
				$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>".$entidad->getValue("descripcion")."</td>";
				$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>".$adscripcion->getValue("nombre_adscripcion")."</td>";
				$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>".$organismo->getValue("nombre_organismo")."</td>";
				$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
				$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
				$myHtml.="</tr>";
				$i++;
			}
			if($i==1)
			{
				while($i<21)
				{
					$myHtml.="<tr>";
					$myHtml.="<td align='center' style='height:50px;' class='celdaIzquierda'>&nbsp;</td>";
					$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
					$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
					$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
					$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
					$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
					$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
					$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
					$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
					$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
					$myHtml.="<td align='center' style='height:50px;' class='celdaDerecha'>&nbsp;</td>";
					$myHtml.="</tr>";
					$i++;
				}
			}
			
			$myHtml.="			</tbody>";
			$myHtml.="		</table>";
			$myHtml.="	</body>";
			$myHtml.="</html>";
		$pdf=$this->createPDF("ControlAsistencia-".$actuacion->getValue("codigo_actuacion").".pdf",$myHtml);
		$this->logger->info(LocalUser::getCurrentUser()->getId()." ".LocalUser::getCurrentUser()->getIdPersona()." xGenerarPlanillaAsistencia (".$idActuacion.")");
		} 
		catch (Exception $e) 
		{
			echo '0';
		}
	}
	
	public function userNotAllowed() 
	{
		if (LocalUser::getCurrentUser()->getNivel() == -1)
			$this->showNotificacion("","Estimado usuario debe iniciar sesi&oacute;n.","Aceptar","usuario/index","principal","Escuela Nacional de Fiscales.-Login");
		else
			$this->showNotificacion("","Usuario no permitido","Aceptar","actuaciones/index","aplicacion","");
	}

	public function sessionExpired() 
	{
		$this->logger->info(LocalUser::getCurrentUser()->getId() ." - " . LocalUser::getCurrentUser()->getAlias()." Sesion expirada");
		$this->showNotificacion("","Su sesi&oacute;n ha expirado.","Aceptar","usuario/index","aplicacion","");
	}
}
?>